import { Bot_msg } from "../../model/bot/bot_msg";
import server from "../../model/client/server";
import { mathType, packge } from "../../model/msgHandle/packge";
import { style_default } from "../../style/default";

class index extends packge {

    constructor() {
        super()
    }
    init(): void {
        this.addMath(mathType.math_all, '宠物帮助', ((msg: Bot_msg) => { this.help('宠物',msg) }), this)
        this.addMath(mathType.math_all, '宠物', ((msg: Bot_msg) => { this.list(msg) }), this)
        this.addMath(mathType.math_start, '查看宠物', ((msg: Bot_msg) => { this.look(msg) }), this)
        this.addMath(mathType.math_start, '宠物改名', ((msg: Bot_msg) => { this.rename(msg) }), this)
        this.addMath(mathType.math_start, '放生', ((msg: Bot_msg) => { this.destroy(msg) }), this,false)
    }
    destroy(msg: Bot_msg) {
        if (msg.getContent().length == 0) {
            msg.repeText('宠物放生菜单');
            return;
        }
        server.api('body/pet/Destroy', { idx: 0, name: msg.getContent(true) },msg)
    }
    rename(msg: Bot_msg) {
        let info = this.cover_NumStr(msg.getContent(true));
        if (!info[0]) {
            msg.repeText('宠物改名：宠物改名 + ID + 修改的名称')
            return;
        }
        server.api('body/pet/Rename', { idx: info[0], name: info[1] }, msg)
    }
    help_look(msg: Bot_msg) {
        msg.repeText(`①查看宠物指令:查看宠物 + 宠物ID\n②@机器人 + 宠物名称`)
    }
    look(msg: Bot_msg) {
        let idx = this.getNumber(msg.getContent());
        if (idx <= 0) {
            this.help_look(msg);
            return;
        }
        server.api('body/pet/Look', { idx: idx }, msg)
    }
    async list(msg: Bot_msg) {
        let res = await server.api('body/pet/List', {}, msg);
        if (!res) {
            return;
        }
        let list = res.list;
        let s = new style_default();
        s.setTitle('我的宠物')
        if(list.length == 0){
            s.addLine('😭暂无宠物哦,去找怪物[捕捉]试试')
            await s.addOne();
        }
        for (let i = 0; i < list.length; i++) {
            const element = list[i];
            if (element.hp_per == 0) {
                s.addLine(`[${i + 1}]${element.name}☠️`)
            } else {
                s.addLine(`[${i + 1}]${element.name}❤${element.hp_per * 100}%`)

            }
        }
        s.help('宠物帮助');
        if(list.length > 10){
            s.toimg(msg.getFormId())
        }else{
            msg.repeText(s.end())
        }
    }
}
export default new index();